home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1986 December / Ahoy_Magazine_86-12_1986_Double_L.d64 / Mouse in House (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  7KB  |  156 lines

  1. 10 rem    ********************
  2. 20 rem    *mouse in the house*
  3. 30 rem    *    by jc hilty   *
  4. 40 rem    ********************
  5. 50 v=53248:q=54272:cs=0:ms=0:lp=0:tm=1000
  6. 60 gosub1200
  7. 70 dims$(4),s(6):s$(0)=""
  8. 80 forx=1to4:s$(x)=s$(x-1)+"":next
  9. 90 forx=0to6:s(x)=x*5+2:next:a$="[223][169][157][157][146][154][184][184]"
  10. 100 print"[147]":poke53280,0:poke53281,15
  11. 110 forx=56257to56294:pokex,2:next:forx=1985to2022:pokex,160:next
  12. 120 printtab(1)"                                      "
  13. 130 forx=1to22:print""tab(1)" "tab(38)" ":next
  14. 140 print""tab(5)tm;tab(15)"mouse "ms;tab(27)"cat "cs
  15. 150 gosub800
  16. 160 pokev+39,8:pokev+40,11:pokev+41,6:poke2040,197:poke2041,192:poke2042,196
  17. 170 forx=50435to50438:pokex,0:next:poke50688,6
  18. 175 y=int(rnd(9)*140)+80:pokev+1,y
  19. 180 pokev+0,255:pokev+2,58:pokev+3,76:pokev+16,4:pokev+4,46
  20. 190 pokev+5,76:pokev+21,7:poke50432,6
  21. 195 w1=peek(v+30):w2=peek(v+31)
  22. 199 rem    main loop
  23. 200 jy=peek(56321)and15
  24. 202 ifjy=7thenpoke50435,1:poke50436,0:poke50688,2:poke2041,192:goto210
  25. 204 ifjy=11thenpoke50435,255:poke50436,0:poke50688,2:poke2041,194:goto210
  26. 206 ifjy=13thenpoke50435,0:poke50436,1:poke50688,2:goto210
  27. 208 ifjy=14thenpoke50435,0:poke50436,255:poke50688,2:goto210
  28. 210 jg=peek(56320)and15
  29. 212 ifjg=7thenpoke50437,1:poke50438,0:poke50688,4:poke2042,195:goto220
  30. 214 ifjg=11thenpoke50437,255:poke50438,0:poke50688,4:poke2042,196:goto220
  31. 216 ifjg=13thenpoke50437,0:poke50438,1:poke50688,4:goto220
  32. 218 ifjg=14thenpoke50437,0:poke50438,255:poke50688,4:goto220
  33. 220 tm=tm-1:print""tab(6)"    ":print""tab(5)tm:iftm=0then500
  34. 225 lp=lp+1:iflp=50thenpokev+39,5
  35. 226 iflp>70 thengosub300
  36. 227 w1=peek(v+30):ifw1and2then350
  37. 228 w2=peek(v+31):ifw2>1then400
  38. 230 goto200
  39. 300 r=int(6*rnd(5)+1):onrgosub302,303,304,305,306,307
  40. 301 y=int(rnd(6)*140)+80:pokev+1,y:pokev+39,8:lp=0:return
  41. 302 pokev+0,55:return
  42. 303 pokev+0,95:return
  43. 304 pokev+0,135:return
  44. 305 pokev+0,175:return
  45. 306 pokev+0,215:return
  46. 307 pokev+0,255:return
  47. 349 rem    mouse collision
  48. 350 poke50432,0:ifw1>3then370
  49. 352 pokev+21,6:forl=0to24:pokeq+l,0:next:pokeq+24,143:pokeq+5,16:pokeq+19,16
  50. 354 pokeq+6,252:pokeq+20,249
  51. 355 fort=0to10:poke2041,193:pokeq+4,21:pokeq+18,17:pokeq+1,68:pokeq+15,42
  52. 356 fori=0to100:next:poke2041,192:pokeq+4,20:pokeq+18,16:fori=0to100:next:nextt
  53. 358 ms=ms+10:print""tab(21)ms:pokev+21,0:lp=0:goto150
  54. 370 pokev+21,5:forl=0to24:pokeq+l,0:next:pokeq+24,15:pokeq+5,80:pokeq+6,243
  55. 372 pokeq+3,4
  56. 374 fort=0to8:poke2042,195:pokeq+4,65:fori=20to80step5:pokeq+1,i:next
  57. 376 poke2042,196:pokeq+4,64:fori=0to50:next:nextt
  58. 380 cs=cs+10:print""tab(31)cs:pokev+21,0:lp=0:goto150
  59. 399 rem    screen collisions
  60. 400 poke50432,0
  61. 402 ifw2and2thenk=40:gosub420:cs=cs+10:print""tab(31)cs:pokev+21,0:goto150
  62. 404 k=41:gosub420:ms=ms+10:print""tab(21)ms:pokev+21,0:goto150
  63. 420 forl=0to24:pokeq+l,0:next:pokeq+24,15:pokeq+5,80:pokeq+6,243:pokeq+3,7
  64. 422 fort=50to17step-1:pokeq+4,65:pokev+k,2:pokeq+1,t:fordr=1to20:nextdr
  65. 424 pokev+k,1:fordr=1to10:nextdr:nextt:pokeq+4,64:lp=0:return
  66. 499 rem    game over
  67. 500 poke50432,0:print"[147]":pokev+21,0:poke53281,0:poke53280,0
  68. 505 pokev+23,6:pokev+29,6:pokev+2,80:pokev+3,80:pokev+16,0:pokev+4,255
  69. 506 pokev+5,80:poke2041,192:poke2042,196:pokev+21,6
  70. 510 print""tab(12)"[159]g a m e  o v e r":print:print
  71. 515 printtab(12)"mouse score "ms:print:printtab(12)"cat score "cs:print:print
  72. 520 gosub900:printtab(12)"[158]play again  y or n"
  73. 525 get jk$:ifjk$<>""then525
  74. 530 get p$:ifp$=""then530
  75. 535 ifp$="y"then545
  76. 540 end
  77. 545 tm=1000:ms=0:cs=0:lp=0:pokev+23,0:pokev+29,0:pokev+21,0:goto100
  78. 799 rem    set traps
  79. 800 print"":forx=1to22:printtab(2)"                                    ":next
  80. 810 l=int(rnd(9)*10)+15
  81. 820 forx=0tol:h=int(rnd(5)*7):co=int(rnd(9)*5)
  82. 830 prints$(co)tab(s(h))a$:next
  83. 840 return
  84. 899 rem    music
  85. 900 restore
  86. 905 forx=0to24:pokeq+x,0:next:pokeq+24,15
  87. 910 pokeq+6,240:pokeq+13,240:pokeq+20,240
  88. 920 readn1,n2,n3,n4,n5,n6,dr:ifn1=0thenreturn
  89. 925 pokeq+1,n1:pokeq+8,n3:pokeq+15,n5:pokeq,n2:pokeq+7,n4:pokeq+14,n6
  90. 930 pokeq+4,17:pokeq+11,17:pokeq+18,17:forz=1todr/4:nextz
  91. 935 pokeq+4,16:pokeq+11,16:pokeq+18,16:fort=1to20:nextt:goto920
  92. 940 data 36,208,0,0,0,0,500,36,208,0,0,0,0,500,30,245,0,0,0,0,500
  93. 945 data 36,208,0,0,0,0,500,41,83,30,245,24,146,500,36,208,0,0,0,0,500
  94. 950 data 30,245,24,146,18,104,1000
  95. 955 data 30,245,0,0,0,0,500,27,148,0,0,0,0,1000,46,99,32,204,27,148,500
  96. 960 data 30,245,0,0,0,0,500,27,148,0,0,0,0,1000
  97. 965 data 36,208,0,0,0,0,500,36,208,0,0,0,0,500,36,208,0,0,0,0,500
  98. 970 data 30,245,0,0,0,0,500,36,208,0,0,0,0,500
  99. 975 data 41,83,30,245,24,146,500,36,208,0,0,0,0,500,30,245,24,146,18,104,1000
  100. 980 data 27,148,0,0,0,0,500,46,99,32,204,27,148,500
  101. 985 data 30,245,0,0,0,0,500,27,148,0,0,0,0,500
  102. 990 data 24,146,0,0,0,0,1000,30,245,24,146,18,204,1000,0,0,0,0,0,0,0
  103. 1190 rem    title screen
  104. 1200 poke53281,0:poke53280,0
  105. 1205 print"[147]"tab(3)"[150]                                  "
  106. 1210 printtab(3)" m o u s e  i n  t h e  h o u s e "
  107. 1215 printtab(3)"                                  ":print
  108. 1220 printtab(16)"[155]  [146]     ":printtab(15)"    [146]     "
  109. 1225 printtab(15)"    [146]     ":   printtab(16)"  [146]     ":printtab(17)"    "
  110. 1230 printtab(16)"   [146][169][155] [146][169]":printtab(16)"[155]         "
  111. 1235 printtab(10)"[155] [146]             ":   printtab(10)"   [146]      "
  112. 1240 printtab(12)" [146]    [151] [155] ":printtab(10)"   [146]    [151] [155] "
  113. 1245 printtab(10)" [146]     [151]  [155]  ":printtab(10)" [146]         "
  114. 1250 printtab(10)" [146]         ":printtab(10)"       [146]    "
  115. 1255 printtab(15)"   [146]    ":print
  116. 1260 printtab(1)"[159]there are a lot of traps around here!!"
  117. 1265 printtab(4)"but i sure do love that cheese!!"
  118. 1270 gosub900
  119. 1280 printtab(6)"[158] please wait..reading data "
  120. 1285 forx=50880to51116:reada:pokex,a:next
  121. 1286 forx=50433to50438:pokex,0:next:poke50432,0:sys51104
  122. 1287 forx=12288to12670:reada:pokex,a:next
  123. 1288 return
  124. 1290 data 169,255,45,0,198,240,16,169,0,141,0,198,162,21,189,0,197,157,0,198
  125. 1295 data 202,208,247,162,1,169,1,141,80,197,173,80,197,45,0,197,240,3,76
  126. 1300 data 243,198,232,232,14,80,197,208,238,76,49,234,169,0,29,0,197,208,3,76
  127. 1305 data 97,199,169,128,61,0,197,240,48,254,0,198,208,40,222,255,207,76,144
  128. 1310 data 199,80,197,45,16,208,208,12,173,16,208,13,80,197,141,16,208,76,43
  129. 1315 data 199,173,16,208,77,80,197,141,16,208,189,0,197,157,0,198,76,97,199,222
  130. 1320 data 0,198,208,40,254,255,207,208,29,173,80,197,45,16,208,208,12,173,16
  131. 1325 data 208,13,80,197,141,16,208,76,91,199,173,16,208,77,80,197,141,16,208
  132. 1330 data 189,0,197,157,0,198,169,0,232,29,0,197,208,3,76,140,199,169,128,61,0
  133. 1335 data 197,240,11,254,0,198,208,20,222,255,207,76,134,199,222,0,198,208
  134. 1340 data 9,254,255,207,189,0,197,157,0,198,202,76,233,198,169,255,221,255
  135. 1345 data 207,240,3,76,43,199,173,80,197,76,17,199,120,169,192,141,20,3,169
  136. 1350 data 198,141,21,3,88,96
  137. 1355 rem    sprite data
  138. 1360 data 0,0,0,0,0,0,0,0,0,0,198,0,1,239,0,1,239,0,0,198,0,0,120,0,0,236,0
  139. 1365 data 32,255,128,56,255,0,9,224,0,57,160,0,33,160,0,33,48,0,35,240,0
  140. 1370 data 35,240,0,63,152,0,1,220,0,0,0,0,0,0,0,0
  141. 1375 data 0,0,0,0,0,0,0,0,0,0,198,0,1,239,0,1,239,0,0,198,0,0,120,0,0,236,0
  142. 1380 data 32,255,128,224,254,0,129,236,0,225,166,0,33,163,0,33,48,0,35,240,0
  143. 1385 data 35,240,0,63,224,0,0,112,0,0,0,0,0,0,0,0
  144. 1390 data 0,0,0,0,0,0,0,0,0,0,99,0,0,247,128,0,247,128,0,99,0,0,30,0,0,55,0
  145. 1395 data 1,255,0,0,255,28,0,7,144,0,5,156,0,5,132,0,12,132,0,15,196,0,15,196
  146. 1400 data 0,25,252,0,59,128,0,0,0,0,0,0,0
  147. 1405 data 0,0,0,0,0,0,7,248,0,4,8,0,6,8,0,2,0,0,3,0,64,1,0,120,1,240,108
  148. 1410 data 1,248,252,1,255,252,3,255,192,3,255,192,3,255,192,7,255,192
  149. 1415 data 7,192,224,7,240,124,7,240,60,0,0,0,0,0,0,0,0,0,0
  150. 1420 data 0,0,0,0,0,0,0,31,224,0,16,32,0,16,96,0,0,64,2,0,192,30,0,128
  151. 1425 data 54,15,128,63,31,128,63,255,128,3,255,192,3,255,192,3,255,192
  152. 1430 data 3,255,224,7,3,224,62,15,224,60,15,224,0,0,0,0,0,0,0,0,0,0
  153. 1450 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,255,192,6,255,224,7,254,112
  154. 1455 data 7,254,112,7,59,240,7,63,240,7,255,176,7,255,240,5,231,144
  155. 1460 data 7,231,144,3,253,240,3,255,240,0,0,0,0,0,0,0,0,0
  156.